﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace doubly_linked_list
{
    class Program
    {
        static void Main(string[] args)
        {
            KolejkaDwukierunkowa theList = new KolejkaDwukierunkowa();

            // 1
            theList.insertLast(87);
            theList.insertLast(1);
            theList.insertLast(18);
            theList.insertLast(4);
            theList.insertLast(12);
            
            Console.Write("1. ");
            theList.displayForward();
            
            // 2
            Console.Write("2. ");
            theList.displayForward();

            // 3
            theList.displayElement(1);
            Console.Write("3. ");
            theList.displayForward();

            // 4
            theList.swap(0, 4);
            Console.WriteLine("Zamiana elementow o indeksach 0 oraz 4");
            Console.Write("4. ");
            theList.displayForward();
            
            // 5
            theList.sort();
            Console.Write("5. ");
            theList.displayForward();

            
            // 6
            theList.contains(33);
            theList.contains(12);
            Console.Write("6. ");
            theList.displayForward();

            // 7
            theList.deleteKey(44);
            Console.Write("7. ");
            theList.displayForward();

            // 8
            // Dodany kostruktor do klasy KolejkaDwukierunkowa przyjmujący parametr int
            // i tworzacy pierwszy element kolejki z podanym parametrem 

            // wprowadzenie elementu z klawiatury
            Console.Write("Wprowadz element ktory zostanie dodany do kolejki ");
            int n = int.Parse(Console.ReadLine());
            theList.insertFirst(n);
            theList.displayForward();
            theList.deleteFirst();
            Console.WriteLine("Po usunieciu wprowadzonego elementu: ");
            theList.displayForward();

            Console.Write("\nNacisnij dowolny klawisz, aby zakonczyc...");
            Console.ReadKey();
        }
    }
}
